package dao;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.TemporalType;
import pojo.Exemplar;
import pojo.Filme;

/**
 *
 * @author Vanessinha
 */
@Stateless
public class ExemplarDao {

    @PersistenceContext(unitName = "LojaFilmesPU")
    private EntityManager em;

    public Exemplar inserir(Exemplar obj) {
        synchronized (this) {
            em.merge(obj);
        }
        return obj;

    }

    public Exemplar pesquisar(Long obj) {
        Exemplar s = em.find(Exemplar.class, obj);
        return s;
    }

    public void excluir(Exemplar obj) {
        Object objeto = em.merge(obj);
        em.remove(objeto);
    }

    public List<Exemplar> listaExemplaresDisponiveis(Filme f ) {
        try {
            Query q = em.createQuery("select e from Exemplar e where e.exe_codFilme=:filme");
            q.setParameter("filme", f);
            return q.getResultList();
        } catch (Exception e) {
            System.out.println("Excecao lista exemplares disponiveis.." + e);
            return null;
        }
    }

    public List<Exemplar> getAll() {
        try {
            Query q = em.createQuery("select exemplar from Exemplar as exemplar");
            return q.getResultList();
        } catch (Exception e) {
            System.out.println("Excecao exemplar HQL.." + e);
            return null;
        }
    }
}
